package com.jobo.zhoubian.module;

import java.util.HashMap;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.jobo.zhoubian.module2.Main;
import com.jobo.zhoubian.net.Constants;
import com.jobo.zhoubian.net.GetData;
import com.jobo.zhoubian.net.NetTest;
import com.jobo.zhoubian.net.SendAndReceive;
import com.weibo.sdk.android.Oauth2AccessToken;

public class Login2 extends Activity {
	// implements OnClickListener
	// private EditText login_phonenum;
	// private EditText login_password;
	private LinearLayout login_return;
	// private ImageButton btn_tencent;
	// private ImageButton xinlang;
	private Button login;
	// 锟斤拷锟斤拷锟斤拷锟较碉�?
	protected SharedPreferences sharedPreferences;
	public static Oauth2AccessToken accessToken;
	private int tag = 0;
	private Button btn_Sina, btn_Tenent;
	private static Handler mHandler;
	private HashMap<String, Object> hashMap;
	private ProgressDialog progressDialog;
	private Context mContext;
	// 账号密码
	private String a, b;
	private EditText phonenum, password;
	private CheckBox checkbox;
	private int check;

	private Handler handler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			if (progressDialog != null) {
				progressDialog.dismiss();
			}
			if (msg.what == 0) {
				System.out.println(hashMap);
				System.out
						.println("******************************************");
				Intent intent = new Intent();
				intent.putExtra("tag", tag);
				intent.putExtra("hashmap", hashMap);
				intent.setClass(Login2.this, Main.class);
				startActivity(intent);
			}
		};
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 锟斤拷锟斤拷锟斤拷锟斤拷去锟斤拷
		// this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
		this.requestWindowFeature(Window.FEATURE_NO_TITLE);
		// 锟斤拷锟斤拷锟斤�?
		setContentView(R.layout.login2);
		// 锟斤拷锟斤拷锟斤拷影锟脚�?

		phonenum = (EditText) findViewById(R.id.edit_phonenum);
		password = (EditText) findViewById(R.id.edit_password);
		checkbox = (CheckBox) findViewById(R.id.checkbox_login);

		login_return = (LinearLayout) findViewById(R.id.login_return);
		login = (Button) findViewById(R.id.btn_login);

		mContext = this;
		mHandler = new Handler();
		sharedPreferences = this.getSharedPreferences("sharpandroid",
				Context.MODE_WORLD_WRITEABLE);

		progressDialog = new ProgressDialog(Login2.this);

		login_return.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {

				Intent intent = new Intent(Login2.this, Login.class);
				startActivity(intent);
				Login2.this.finish();
			}

		});

		// 锟斤拷陆锟斤拷钮锟斤拷锟斤拷
		login.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {

				// Intent intent = new Intent(Login2.this, Main.class);
				// startActivity(intent);
				// Login2.this.finish();

				a = phonenum.getText().toString();
				// b = MD5.getMD5String(password.getText().toString());
				b = password.getText().toString();

				// c = MD5.getMD5String(password2.getText().toString());
				if (checkbox.isChecked()) {
					check = 1;
				} else {
					check = 0;
				}

				// 在这里发送登录请�?

				if (a.isEmpty() || b.isEmpty()) {

					Toast.makeText(Login2.this, "请将登录信息填写完整!", 2000).show();
				} else if (a.length() != 11) {
					Toast.makeText(Login2.this, "手机号信息填写错了!", 2000).show();

				} else {
					// 在这里发送注册的信号

					NetTest testfornet = new NetTest();

					if (testfornet.isNetworkAvailable(Login2.this)) {
						// System.out.println("*********1***************");

						// 注册广播
						registerBoradcastReceiver("Login");

						SendAndReceive send = new SendAndReceive();
						String url = Constants.IP
								+ "/Ngbussiness/membersServlet?mobel="
								+ a + "&password=" + b;
						send.runHttpsConnection(url, Login2.this, "Login");

						// 15201344444 0192023a7bbd73250516f069df18b500
					} else {

						Toast.makeText(getBaseContext(), "发送失败,网络不给力", 2000)
								.show();

					}

				}

			}

		});

	}

	// 注册广播.注册完之后就�?直在等待含这个ACTION_NAME的广�?.有的话就直接进入接收广播的方�?
	public void registerBoradcastReceiver(String name) {
		IntentFilter myIntentFilter = new IntentFilter();
		myIntentFilter.addAction(name);

		registerReceiver(mBroadcastReceiver, myIntentFilter);

	}

	// 接收广播1
	private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
		@Override
		public void onReceive(Context context, Intent intent) {
			// System.out.println("*********4***************");
			unregisterReceiver(mBroadcastReceiver);
			if (intent.getStringExtra("result").equals("success")) {

				if (intent.getStringExtra("action_name").equals("Login")) {

					if (!intent.getStringExtra("data").equals("error")) {

						GetData.Login(intent.getStringExtra("data"));
						Toast.makeText(getBaseContext(), "登录成功!", 6000).show();

						Intent intent1 = new Intent(Login2.this, Main.class);
						startActivity(intent1);
						Login2.this.finish();
						// g.finish();
						// 先待�?

						if (check == 1) {
							// 存入数据
							Constants.times++;
							SharedPreferences mySharedPreferences = getSharedPreferences(
									"login", Activity.MODE_PRIVATE);
							SharedPreferences.Editor editor = mySharedPreferences
									.edit();
							editor.putInt("check", check);
							editor.putString("phonenum", a);
							editor.putString("password", b);

							// 提交修改
							editor.commit();
						}
					} else if (intent.getStringExtra("data").equals("error")) {
						Toast.makeText(getBaseContext(), "登录失败!", 2000).show();

					} else {
						Toast.makeText(getBaseContext(), "出现问题,请稍后再试!", 2000)
								.show();

					}
				} else {

					Toast.makeText(getBaseContext(), "出现问题,请稍后再试!", 2000)
							.show();

				}

			} else {

				Toast.makeText(getBaseContext(), "连接超时,发送失败", 2000).show();

			}

		}
	};

	// @Override
	// public void onClick(View v) {
	// // TODO Auto-generated method stub
	// switch (v.getId()) {
	// case R.id.btn_tencent:
	// tag = 1;
	// // Intent intent = new Intent(Login2.this, Main.class);
	// // startActivity(intent);
	// Login2.this.finish();
	// // logonToTencent();
	// break;
	// case R.id.btn_xinlang:
	// tag = 2;
	// // Intent intent2 = new Intent(Login2.this, Main.class);
	// // startActivity(intent2);
	// Login2.this.finish();
	// logonToSina();
	// break;
	//
	// default:
	// break;
	// }
	//
	// }
	//
	// /**
	// * 锟斤拷锟斤拷微锟斤拷锟斤拷录
	// *
	// */
	// private void logonToSina() {
	// if (HttpUtil.checkNet(this)) {
	// weibo_sina.auth(new WeiboListener() {
	// @Override
	// public void onResult() {
	// Login2.getHandler().post(new Runnable() {
	// @Override
	// public void run() {
	// refreshView();
	// }
	// });
	// }
	// });
	// }
	// }
	//
	// /*
	// * 锟斤拷讯微锟斤拷锟斤拷录
	// */
	// private void logonToTencent() {
	//
	// tencent = TencentUtil.getInstance(mContext);
	//
	// if (!tencent.isSessionValid()) {
	// IUiListener listener = new BaseUiListener() {
	// @Override
	// protected void doComplete(JSONObject values) {
	//
	// }
	// };
	// tencent.login(this, "all", listener);
	// } else {
	// tencent.logout(this);
	// }
	// }
	//
	// /**
	// * Get锟斤拷式锟斤拷取锟矫伙拷锟斤拷息锟斤拷锟斤拷锟剿ｏ拷
	// *
	// * @param uid
	// * @param access_token
	// * @return
	// */
	// private String query(String http, String uid, String access_token) {
	// // 锟斤拷询锟斤拷锟斤拷
	// String queryString = "uid=" + uid + "&access_token=" + access_token;
	// // url
	// String url = http + "?" + queryString;
	// // Log.e("锟揭碉拷锟斤拷锟斤拷", url);
	// // 锟斤拷询锟斤拷锟截斤拷锟�?
	// String string = HttpUtil.queryStringForGet(url);
	// // System.out.println("锟斤拷取锟矫伙拷锟斤拷息锟斤�?" + string);
	// return string;
	//
	// }
	//
	// /*
	// * 锟届步锟斤拷取锟斤拷锟斤�?
	// */
	// private void toHttpSinaURL(final Handler handler) {
	// progressDialog = ProgressDialog
	// .show(Login2.this, "", "锟斤拷陆锟叫ｏ拷锟斤拷锟皆猴�?");
	// new Thread(new Runnable() {
	// @Override
	// public void run() {
	// hashMap = getMessage_Sina(query(Sinas.URL_USERS_SHOW, mUserId,
	// token_sina));
	// handler.obtainMessage(0, hashMap).sendToTarget();
	// }
	// }).start();
	//
	// }
	//
	// /**
	// * 锟斤拷锟斤拷锟斤拷锟捷凤拷锟斤拷锟矫伙拷锟斤拷息
	// *
	// * @param string
	// * @return
	// */
	// protected HashMap<String, Object> getMessage_Sina(String string) {
	// // TODO Auto-generated method stub
	// JSONObject object = null;
	// HashMap<String, Object> hash = new HashMap<String, Object>();
	// if (string != "" && string != null && string.trim().length() > 0) {
	// try {
	// object = new JSONObject(string);
	// hash.put("id", object.getString("idstr"));
	// hash.put("type", "xl_set");
	// if (object.getString("gender").equals("f")) {
	// hash.put("sex", "0");
	// } else {
	// hash.put("sex", "1");
	// }
	// hash.put("name", object.getString("screen_name"));
	// hash.put("sign", object.getString("description"));
	// hash.put("location", object.getString("location"));
	// hash.put("head_image", object.getString("avatar_large"));
	// hash.put("age", "");
	// hash.put("mail", "");
	// } catch (JSONException e) {
	// // TODO Auto-generated catch block
	// e.printStackTrace();
	// }
	// }
	// return hash;
	// }
	//
	// private void refreshView() {
	// String sinaToken = PreferenceUtil.getInstance(mContext).getString(
	// Sinas.PREF_SINA_ACCESS_TOKEN, "");
	// if (sinaToken.isEmpty()) { // 未锟斤拷�?
	// Login2.getHandler().post(new Runnable() {
	// @Override
	// public void run() {
	// LOG.showToast(mContext, "未锟斤拷�?");
	// }
	// });
	// } else {
	// // 锟斤拷始锟斤拷锟斤拷锟斤拷微锟斤拷锟斤拷锟叫讹拷锟角凤拷锟斤拷权锟斤拷锟斤拷
	// SinaWeiboUtil.getInstance(mContext).initSinaWeibo(
	// new WeiboListener() {
	// @Override
	// public void init(boolean isValid) {
	// if (isValid) {
	// token_sina = PreferenceUtil.getInstance(
	// mContext).getString(
	// Sinas.PREF_SINA_ACCESS_TOKEN, "");
	// mUserId = PreferenceUtil.getInstance(mContext)
	// .getString(Sinas.PREF_SINA_UID, "");
	//
	// Editor editor = sharedPreferences.edit();
	// editor.putString("token_Sina", token_sina);
	// editor.putString("uid_Sina", mUserId);
	// editor.commit();
	// Login2.getHandler().post(new Runnable() {
	//
	// @Override
	// public void run() {
	// LOG.showToast(mContext,
	// "锟斤拷锟斤拷微锟斤拷锟斤拷锟斤拷�?");
	// toHttpSinaURL(handler);
	// }
	// });
	// } else {
	// Login2.getHandler().post(new Runnable() {
	//
	// @Override
	// public void run() {
	// LOG.showToast(mContext,
	// "锟斤拷锟斤拷微锟斤拷锟斤拷权锟窖癸拷锟节ｏ拷锟斤拷锟斤拷锟铰绑定★拷");
	// }
	// });
	// }
	// }
	// });
	//
	// }
	// }
	//
	public static Handler getHandler() {
		if (mHandler == null) {
			mHandler = new Handler();
		}
		return mHandler;
	}
	//
	// private class BaseUiListener implements IUiListener {
	// @Override
	// public void onComplete(JSONObject response) {
	// System.out.println("AAAA" + response.toString());
	// doComplete(response);
	// JSONObject jsonObject;
	// try {
	//
	// jsonObject = new JSONObject(response.toString());
	// System.out.println(jsonObject);
	// openid = jsonObject.getString("openid");
	// token_tencent = jsonObject.getString("access_token");
	// long expirse_time = Long.parseLong(jsonObject
	// .getString("expires_in"))
	// * 1000
	// + System.currentTimeMillis();
	// Editor editor = sharedPreferences.edit();
	// editor.putString("token_Tencent", token_tencent);
	// editor.putLong("expires_in", expirse_time);
	// editor.commit();
	// Toast.makeText(Login2.this, "认证成功", Toast.LENGTH_SHORT).show();
	// toHttpTencentURL(handler);
	//
	// // Message msg = new Message();
	// // msg.obj = response;
	// // msg.what = 0;
	// // mHandler.sendMessage(msg);
	//
	// } catch (JSONException e) {
	// e.printStackTrace();
	// }
	// }
	//
	// /**
	// * 锟届步锟斤拷取锟斤拷讯微锟斤拷锟斤拷锟较诧拷锟较达拷
	// *
	// * @param handler
	// */
	// private void toHttpTencentURL(final Handler handler) {
	// progressDialog = ProgressDialog.show(Login2.this, "", "登陆中，请稍候�??");
	// new Thread(new Runnable() {
	// @Override
	// public void run() {
	// hashMap = getMessage_Tencent(onClickUserInfo(token_tencent,
	// Tencents.APP_ID, openid));
	// handler.obtainMessage(0, hashMap).sendToTarget();
	// }
	// }).start();
	// }
	//
	// /**
	// * 锟斤拷取锟斤拷讯微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷�?
	// */
	// private String onClickUserInfo(String access_token,
	// String oauth_consumer_key, String openid) {
	// Log.e("�?始获取用户资料信�?", "");
	// // 锟斤拷询锟斤拷锟斤拷
	// String query = "access_token=" + access_token
	// + "&oauth_consumer_key=" + oauth_consumer_key + "&openid="
	// + openid;
	// // url
	// String url = Tencents.URL_INFO + "?" + query + "&format=json";
	// System.err.println("获取腾讯微博资料的链�?" + url);
	// String string = HttpUtil.queryStringForGet(url);
	// return string;
	// }
	//
	// /**
	// * 锟斤拷锟斤拷锟斤拷锟截碉拷锟斤拷讯微锟斤拷锟斤拷息锟斤拷锟斤�?
	// *
	// * @param string
	// * 锟斤拷锟截碉拷json锟街凤拷锟斤�?
	// */
	// protected HashMap<String, Object> getMessage_Tencent(String string) {
	// JSONObject jsonObject = null;
	// JSONObject object = null;
	// HashMap<String, Object> hash = null;
	// if (string != "" && string != null && string.trim().length() > 0) {
	// hash = new HashMap<String, Object>();
	// try {
	// jsonObject = new JSONObject(string);
	// // if (jsonObject.getInt("ret") == 0) {
	// object = jsonObject.getJSONObject("data");
	// hash.put("sex", object.getInt("sex"));
	// hash.put("name", object.getString("nick"));
	// hash.put("sign", object.getString("introduction"));
	// hash.put("location", object.getString("location"));
	// hash.put("head_image", object.getString("head") + "/120");
	// hash.put(
	// "age",
	// object.get("birth_year") + "-"
	// + object.get("birth_month") + "-"
	// + object.get("birth_day"));
	// hash.put("mail", object.get("email"));
	// // }
	// } catch (JSONException e) {
	// e.printStackTrace();
	// }
	//
	// }
	// System.out.println(hash);
	// return hash;
	// }
	//
	// protected void doComplete(JSONObject values) {
	//
	// }
	//
	// @Override
	// public void onError(UiError e) {
	// showResult("onError:", "code:" + e.errorCode + ", msg:"
	// + e.errorMessage + ", detail:" + e.errorDetail);
	// }
	//
	// @Override
	// public void onCancel() {
	// showResult("onCancel", "");
	// }
	// }
	//
	// /**
	// *
	// * @param base
	// * @param msg
	// */
	// private void showResult(final String base, final String msg) {
	// mHandler.post(new Runnable() {
	// @Override
	// public void run() {
	// if (progressDialog.isShowing())
	// progressDialog.dismiss();
	// // System.out.println("CCCC" + msg);
	//
	// }
	// });
	// }

}